feat: CDS 9 release#706
Merged
Merged
Conversation
* bump react and react-dom package versions * update unsafe ref access when merging internal and customer refs * upgrade storybook (storybook@latest upgrade) * upgrade react eslint plugin and disable its new rules for now * migrate CSF2 stories to CSF3 format (https://storybook.js.org/blog/storybook-csf3-is-here/) * upgrade react testing library and replace outdated imports * upgrade react-native & other Expo-managed dependencies * introduce new test-expo app for mobile testing * remove react-native accessibility engine and replace with our own fork compatible with our react native version * remove deprecated @testing-library/jest-native and migrate tests away from react-test-renderer * migrate toHaveAccessibilityState to granular matchers (toBeChecked, toBeSelected, toBeDisabled) * update formatting of yarn constraint for matching dependency versions * create new yarn constraint for enforcing matching peer and dev dependencies * remove odd react-dom peer dep on common package * remove unused peer desps of cds-mobile * remove cds-mobile useStatusBarHeight and swtich to using safe area context insets (#376) * setup manual mocks for react-native-worklets * update versions referenced in mobile docs component metadata * fix layout issues in tooltip and tour for android edge to edge display * rewrite mobile stepper animation using reanimated (#387)
* chore: fix react version resolution issue
* Add isolated prop to web ThemeProvider and update managed Portal component * Add documentation for PortalProvider setup * Improve documentation around ThemeProvider --------- Co-authored-by: Cody Nova <cody.nova@coinbase.com>
* feat: consolidate border props in Cell component * fix: lint issues * chore: address code review feedback * feat: refactored useResolveResponsiveProp
chore: merge master into cdsv9
…or mobile title Text (#401) * feat: deprecated individual Text components * feat: updated internal usage of individual text components * fix: lint issue * feat: updated deprecation comment for title componnents in mobile to prevent a11y regression * feat: added default accessibilityRole for header in mobile * feat: updated web doc for Text on a11y
* feat: added inverse variant and modified tertiary variant for Button * feat: address code reivew by adjusting doc site wording and remvoe uncessary unit tests * feat: removed foregroundMuted variant from Button * feat: removed foregroundMuted variant in Button and IconButton * feat: added runtime fallback to prevent crashing by the old variant * feat: clean up examples and revised safety net * feat: clean up remaining foregroundMuted * feat: remove safety fallback for Button variants
* feat: shortened Pressable CSS variables * chore: trigger CI rerun Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
* chore: remove interactable height constant and refactor several components to use content-based sizing instead of predetermined height * chore: remove more fixed dimensions from components * refactor InputStack to enable simpler spacing/layout in select/combobox components
…to internal padding properties
…avigation ui in edge to edge android
…bile-visualization package
* feat: simplify carousel pagination in v9 * feat: limit title line count * Fix title on mobile
* feat: migrate Stepper from React Spring to Framer Motion - Replace useSprings/SpringValue with numeric progress and cascade state - Use Framer Motion (motion, animate, transition) in default progress, label, and header components - Rename progressSpringConfig to progressTimingConfig; use CDS timing (tween, durations.slow2, curves.global) - Add disableAnimateOnMount support to header and label * fix * fixes
* fix: Prevent `<TextInput type="number">` from changing value on scroll (#413) * Web implementation * Add web example * Bump changelogs * fix: set paddingStart on Input for compact label (#423) * fix: set paddingStart on Input for compact label * Bump version * feat: enhance Tag component with icon support and custom nodes (#421) * feat: enhance Tag component with icon support and custom nodes - Added support for start and end icons in the Tag component. - Introduced props for custom start and end nodes. - Updated stories to demonstrate new icon and custom node functionality. - Added tests to verify rendering of icons and custom nodes. * changelog versions * format * gap and padding props * feat: improve link docs (#428) * feat: chart transitions (#400) * feat: support customizing transition on web * Fix enter for scrubber * Wip mobile * Simplify animation and fix issues * Fix bar issues * Support scrubber beacon label transitions * Support stagger delay * Update documentation * Update docs * Fix web transition * Ruse transition types * Move imports * Simplify transition * Fix lint * Regenerate routes * Rename functions and routes * Fix lint * Fix issue * Cleanup comments * Simplify transition names * Simplify types * Continue cleaning up types * Fix lint * Cleanup bar transition props * Remove unused story * Drop ChartTransition * Simplify scrubber * Improve accessories * Fix animation issues with point * Remove extra line * Cleanup resolved transitions * Cleanup isIdleTransition * Cleanup exit transition * Simplify logic * Reuse transition for bar * Cleanup bar chart * Fix formatting * Fix lint * Fix lint * Mock path generation * Re add default border radius for bar * Bump version * Simplify code * Update examples * Update bar stagger delay logic * Simplify transition logic * Add more tests for transitions * Improve examples --------- Co-authored-by: Maximo Macchi <232606069+maximo-macchi-cb@users.noreply.github.com> Co-authored-by: Hunter Copp <huntercolecopp@gmail.com> Co-authored-by: Stephen Vergara <stephen.vergara@coinbase.com>
Contributor
* fix: forward style prop in IconButton when flush is not set The pressableStyle memo was returning undefined instead of the style prop when flush was falsy, silently dropping any custom styles (e.g. paddle styles passed from TabbedChips via paddleStyle). Co-authored-by: Cursor <cursoragent@cursor.com> * fix: prevent Button from stretching in flex containers Add height: fit-content to Button's base CSS class so it sizes itself to its content rather than stretching to fill its parent flex container. Mirrors the same fix applied to IconButton in b48ec52. Co-authored-by: Cursor <cursoragent@cursor.com> * fix: root style prop was not being spread correctly inside InputStack component * fix: prevent mobile Button touch target from stretching in flex rows Add alignSelf: flex-start to a new base style applied to NativePressable so it doesn't stretch to fill the cross-axis of any flex container (e.g. HStack). Previously the visual button (Interactable) was correctly sized, but the transparent touch target extended to the full container height. Applies to both inline and block buttons since width and cross-axis alignment are independent concerns. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
adrienzheng-cb
approved these changes
May 21, 2026
Collaborator
|
Review Error for adrienzheng-cb @ 2026-05-21 20:11:22 UTC |
hcopp
approved these changes
May 21, 2026
adrienzheng-cb
approved these changes
May 21, 2026
Collaborator
|
Review Error for adrienzheng-cb @ 2026-05-21 20:27:36 UTC |
stacysun-cb
approved these changes
May 21, 2026
haoruikun-cb
approved these changes
May 21, 2026
Collaborator
|
Review Error for haoruikun-cb @ 2026-05-21 20:29:36 UTC |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed? Why?
https://cds.coinbase.com/guides/v9-upgrade-guide
Root cause (required for bugfixes)
UI changes
Testing
How has it been tested?
Testing instructions
Illustrations/Icons Checklist
Required if this PR changes files under
packages/illustrations/**orpackages/icons/**Change management
type=routine
risk=low
impact=sev5
automerge=false